package com.ziytek.web.citizen.util;

import java.nio.ByteBuffer;
import java.nio.ByteOrder;

/**
 * @author fengh
 */
public class S16Parser {

    public static short parseS16(byte[] data, int offset, ByteOrder endianness) {
        ByteBuffer buffer = ByteBuffer.wrap(data, offset, 2);
        buffer.order(endianness);
        return buffer.getShort();
    }

//    public static void main(String[] args) {
//        // 示例数据：大端表示的0xFFFE（对应十进制-2）
//        byte[] bigEndianData = {(byte) 0xFF, (byte) 0xF4};
//        short valueBig = parseS16(bigEndianData, 0, ByteOrder.BIG_ENDIAN);
//        // 输出: -2
//        System.out.println("Big-endian value: " + valueBig);
//
//        // 示例数据：小端表示的0xFEFF（对应十进制-257）
//        byte[] littleEndianData = {(byte) 0xFE, (byte) 0xFF};
//        short valueLittle = parseS16(littleEndianData, 0, ByteOrder.LITTLE_ENDIAN);
//        // 输出: -257
//        System.out.println("Little-endian value: " + valueLittle);
//    }
}
